Low-Density Parity Check (LDPC) codes have been used in wireless systems. LDPC codes as such are well known in coding theory and known to approach the Shannon channel capacity limit when utilized properly in data transmission. Irregular LDPC codes are known from the fact that input bits may be encoded with different degrees of coding strength, i.e. each input bit may be protected by a different number of parity check equations. Regular LDPC codes employ the same number of parity check equations for each systematic bit.
An LDPC code can be represented by a bipartite graph, which consists of variable nodes, check nodes and a certain number of edges between these two types of node. Each variable node represents a bit of the codeword and each check nodes represents a parity check of the code. An edge exist between a variable node and a check node only if this bit is checked by this edge-connected parity check equation. The degree of a node is the number of edges connected to this node. An irregular LDPC code has a bipartite graph in which the bit nodes (check nodes) have different degrees. A higher variable node degree means that a bit is protected by more parity check equations, which implies to a lower bit error probability. In this manner, a parity check matrix may be constructed. The parity check matrix defines how parity check bits should be calculated. That is, each parity check bit is calculated from given one or more systematic data bits and parity bits.
Quasi-cyclic LDPC (QC-LDPC) codes have been designed to provide efficient implementations. In a quasi-cyclic implementation, the parity check matrix is constructed by a plurality of sub-matrices, wherein at least some of the sub-matrices are circulant permutation matrices. Some of the other sub-matrices may have another constructions, e.g. a zero matrix construction.
A publication by Beomkyu Shin et al: “Quasi-cyclic LDPC Codes Using Overlapping Matrices and Their Layered Decoders”, International Journal of Electronics and Communications, VOL. 68(5), 2014 discloses a method for using QC-LDPC codes and a decoder structure for QC-LDPC codes when the system employs multiple parity check matrices.